import { createRouter, createWebHistory } from 'vue-router'

// 创建路由对象
const router = createRouter({
    history: createWebHistory(),
    routes: [
        {
            path: '/',
            redirect: '/login'
        },
        {
            path: '/login',
            name: 'login',
            component: () => import('@/view/Login.vue')
        },
        {
            path: '/index',
            name: 'index',
            component: () => import('@/view/Index.vue')
        },
    ]
})
// 定义前置的导航守卫，就是跳转时的拦截工具
router.beforeEach((to, from, next) => {
    // admin或null/undefined
    let token = sessionStorage.getItem('token')
    let isLogin = token !== null && token !== undefined
    // 根据目的地判断是否通行
    if(to.path === '/login') {
        if(isLogin) {
            // 已经登录，重定向到主页
            console.log('已经登录了，重定向到主页')
            return next('/index')
            // 程序结束了吗
        } else {
            // 没登录，通行
            return next()
        }
    }
    if(to.path === '/index') {
        if(isLogin) {
            // 已经登录，放行
            return next()
        } else {
            // 没登录，回登录页
            return next('/login')
        }
    }
    console.log('程序能执行到这里吗')
})

// 导出路由对象
export default router